<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Class: Admin</title>
    
    
    
    
    
    <meta property="og:title" content=""/>
    <meta property="og:type" content="website"/>
    <meta property="og:image" content=""/>
    
    <meta property="og:url" content=""/>
    
    <script src="scripts/prettify/prettify.js"></script>
    <script src="scripts/prettify/lang-css.js"></script>
    <script src="scripts/jquery.min.js"></script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
    <link type="text/css" rel="stylesheet" href="styles/jaguar.css">
    
    
    <script>
    var config = {"monospaceLinks":true,"cleverLinks":true,"default":{"outputSourceFiles":true},"applicationName":"Node.js MongoDB Driver API","googleAnalytics":"UA-29229787-1","openGraph":{"title":"","type":"website","image":"","site_name":"","url":""},"meta":{"title":"","description":"","keyword":""},"linenums":true};
    </script>
    

    
    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

      ga('create', UA-29229787-1, 'auto');
      ga('send', 'pageview');
    </script>    
    
</head>
<body>
<div id="wrap" class="clearfix" style="width:100%;">
    <table style="height:100%;width:100%">
        <tr>
            <td valign='top' width="1px">
                
<div class="navigation">
    <h3 class="applicationName"><a href="index.html">Node.js MongoDB Driver API</a></h3>

    <div class="search">
        <input id="search" type="text" class="form-control input-sm" placeholder="Search Documentations">
    </div>
    <ul class="list">
    
        <li class="item" data-name="Admin">
            <span class="title">
                <a href="Admin.html">Admin</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            <span class="subtitle">Typedefs</span>
            
                <li data-name="Admin~resultCallback"><a href="Admin.html#~resultCallback">resultCallback</a></li>
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Admin#addUser"><a href="Admin.html#addUser">addUser</a></li>
            
                <li data-name="Admin#authenticate"><a href="Admin.html#authenticate">authenticate</a></li>
            
                <li data-name="Admin#buildInfo"><a href="Admin.html#buildInfo">buildInfo</a></li>
            
                <li data-name="Admin#command"><a href="Admin.html#command">command</a></li>
            
                <li data-name="Admin#listDatabases"><a href="Admin.html#listDatabases">listDatabases</a></li>
            
                <li data-name="Admin#logout"><a href="Admin.html#logout">logout</a></li>
            
                <li data-name="Admin#ping"><a href="Admin.html#ping">ping</a></li>
            
                <li data-name="Admin#profilingInfo"><a href="Admin.html#profilingInfo">profilingInfo</a></li>
            
                <li data-name="Admin#profilingLevel"><a href="Admin.html#profilingLevel">profilingLevel</a></li>
            
                <li data-name="Admin#removeUser"><a href="Admin.html#removeUser">removeUser</a></li>
            
                <li data-name="Admin#replSetGetStatus"><a href="Admin.html#replSetGetStatus">replSetGetStatus</a></li>
            
                <li data-name="Admin#serverInfo"><a href="Admin.html#serverInfo">serverInfo</a></li>
            
                <li data-name="Admin#serverStatus"><a href="Admin.html#serverStatus">serverStatus</a></li>
            
                <li data-name="Admin#setProfilingLevel"><a href="Admin.html#setProfilingLevel">setProfilingLevel</a></li>
            
                <li data-name="Admin#validateCollection"><a href="Admin.html#validateCollection">validateCollection</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="AggregationCursor">
            <span class="title">
                <a href="AggregationCursor.html">AggregationCursor</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            <span class="subtitle">Typedefs</span>
            
                <li data-name="AggregationCursor~endCallback"><a href="AggregationCursor.html#~endCallback">endCallback</a></li>
            
                <li data-name="AggregationCursor~iteratorCallback"><a href="AggregationCursor.html#~iteratorCallback">iteratorCallback</a></li>
            
                <li data-name="AggregationCursor~resultCallback"><a href="AggregationCursor.html#~resultCallback">resultCallback</a></li>
            
                <li data-name="AggregationCursor~toArrayResultCallback"><a href="AggregationCursor.html#~toArrayResultCallback">toArrayResultCallback</a></li>
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="AggregationCursor#batchSize"><a href="AggregationCursor.html#batchSize">batchSize</a></li>
            
                <li data-name="AggregationCursor#clone"><a href="AggregationCursor.html#clone">clone</a></li>
            
                <li data-name="AggregationCursor#close"><a href="AggregationCursor.html#close">close</a></li>
            
                <li data-name="AggregationCursor#each"><a href="AggregationCursor.html#each">each</a></li>
            
                <li data-name="AggregationCursor#explain"><a href="AggregationCursor.html#explain">explain</a></li>
            
                <li data-name="AggregationCursor#geoNear"><a href="AggregationCursor.html#geoNear">geoNear</a></li>
            
                <li data-name="AggregationCursor#group"><a href="AggregationCursor.html#group">group</a></li>
            
                <li data-name="AggregationCursor#hasNext"><a href="AggregationCursor.html#hasNext">hasNext</a></li>
            
                <li data-name="AggregationCursor#isClosed"><a href="AggregationCursor.html#isClosed">isClosed</a></li>
            
                <li data-name="AggregationCursor#limit"><a href="AggregationCursor.html#limit">limit</a></li>
            
                <li data-name="AggregationCursor#lookup"><a href="AggregationCursor.html#lookup">lookup</a></li>
            
                <li data-name="AggregationCursor#match"><a href="AggregationCursor.html#match">match</a></li>
            
                <li data-name="AggregationCursor#maxTimeMS"><a href="AggregationCursor.html#maxTimeMS">maxTimeMS</a></li>
            
                <li data-name="AggregationCursor#next"><a href="AggregationCursor.html#next">next</a></li>
            
                <li data-name="AggregationCursor#out"><a href="AggregationCursor.html#out">out</a></li>
            
                <li data-name="AggregationCursor#pause"><a href="AggregationCursor.html#pause">pause</a></li>
            
                <li data-name="AggregationCursor#pipe"><a href="AggregationCursor.html#pipe">pipe</a></li>
            
                <li data-name="AggregationCursor#project"><a href="AggregationCursor.html#project">project</a></li>
            
                <li data-name="AggregationCursor#read"><a href="AggregationCursor.html#read">read</a></li>
            
                <li data-name="AggregationCursor#redact"><a href="AggregationCursor.html#redact">redact</a></li>
            
                <li data-name="AggregationCursor#resume"><a href="AggregationCursor.html#resume">resume</a></li>
            
                <li data-name="AggregationCursor#rewind"><a href="AggregationCursor.html#rewind">rewind</a></li>
            
                <li data-name="AggregationCursor#setEncoding"><a href="AggregationCursor.html#setEncoding">setEncoding</a></li>
            
                <li data-name="AggregationCursor#skip"><a href="AggregationCursor.html#skip">skip</a></li>
            
                <li data-name="AggregationCursor#sort"><a href="AggregationCursor.html#sort">sort</a></li>
            
                <li data-name="AggregationCursor#toArray"><a href="AggregationCursor.html#toArray">toArray</a></li>
            
                <li data-name="AggregationCursor#unpipe"><a href="AggregationCursor.html#unpipe">unpipe</a></li>
            
                <li data-name="AggregationCursor#unshift"><a href="AggregationCursor.html#unshift">unshift</a></li>
            
                <li data-name="AggregationCursor#unwind"><a href="AggregationCursor.html#unwind">unwind</a></li>
            
                <li data-name="AggregationCursor#wrap"><a href="AggregationCursor.html#wrap">wrap</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            <span class="subtitle">Events</span>
            
                <li data-name="AggregationCursor#event:close"><a href="AggregationCursor.html#event:close">close</a></li>
            
                <li data-name="AggregationCursor#event:data"><a href="AggregationCursor.html#event:data">data</a></li>
            
                <li data-name="AggregationCursor#event:end"><a href="AggregationCursor.html#event:end">end</a></li>
            
                <li data-name="AggregationCursor#event:readable"><a href="AggregationCursor.html#event:readable">readable</a></li>
            
            </ul>
        </li>
    
        <li class="item" data-name="Binary">
            <span class="title">
                <a href="Binary.html">Binary</a>
                
            </span>
            <ul class="members itemMembers">
            
            <span class="subtitle">Members</span>
            
                <li data-name="Binary.SUBTYPE_BYTE_ARRAY"><a href="Binary.html#.SUBTYPE_BYTE_ARRAY">SUBTYPE_BYTE_ARRAY</a></li>
            
                <li data-name="Binary.SUBTYPE_DEFAULT"><a href="Binary.html#.SUBTYPE_DEFAULT">SUBTYPE_DEFAULT</a></li>
            
                <li data-name="Binary.SUBTYPE_FUNCTION"><a href="Binary.html#.SUBTYPE_FUNCTION">SUBTYPE_FUNCTION</a></li>
            
                <li data-name="Binary.SUBTYPE_MD5"><a href="Binary.html#.SUBTYPE_MD5">SUBTYPE_MD5</a></li>
            
                <li data-name="Binary.SUBTYPE_USER_DEFINED"><a href="Binary.html#.SUBTYPE_USER_DEFINED">SUBTYPE_USER_DEFINED</a></li>
            
                <li data-name="Binary.SUBTYPE_UUID"><a href="Binary.html#.SUBTYPE_UUID">SUBTYPE_UUID</a></li>
            
                <li data-name="Binary.SUBTYPE_UUID_OLD"><a href="Binary.html#.SUBTYPE_UUID_OLD">SUBTYPE_UUID_OLD</a></li>
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Binary#length"><a href="Binary.html#length">length</a></li>
            
                <li data-name="Binary#put"><a href="Binary.html#put">put</a></li>
            
                <li data-name="Binary#read"><a href="Binary.html#read">read</a></li>
            
                <li data-name="Binary#value"><a href="Binary.html#value">value</a></li>
            
                <li data-name="Binary#write"><a href="Binary.html#write">write</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="BSONRegExp">
            <span class="title">
                <a href="BSONRegExp.html">BSONRegExp</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="BulkWriteResult">
            <span class="title">
                <a href="BulkWriteResult.html">BulkWriteResult</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="BulkWriteResult#getInsertedIds"><a href="BulkWriteResult.html#getInsertedIds">getInsertedIds</a></li>
            
                <li data-name="BulkWriteResult#getLastOp"><a href="BulkWriteResult.html#getLastOp">getLastOp</a></li>
            
                <li data-name="BulkWriteResult#getRawResponse"><a href="BulkWriteResult.html#getRawResponse">getRawResponse</a></li>
            
                <li data-name="BulkWriteResult#getUpsertedIdAt"><a href="BulkWriteResult.html#getUpsertedIdAt">getUpsertedIdAt</a></li>
            
                <li data-name="BulkWriteResult#getUpsertedIds"><a href="BulkWriteResult.html#getUpsertedIds">getUpsertedIds</a></li>
            
                <li data-name="BulkWriteResult#getWriteConcernError"><a href="BulkWriteResult.html#getWriteConcernError">getWriteConcernError</a></li>
            
                <li data-name="BulkWriteResult#getWriteErrorAt"><a href="BulkWriteResult.html#getWriteErrorAt">getWriteErrorAt</a></li>
            
                <li data-name="BulkWriteResult#getWriteErrorCount"><a href="BulkWriteResult.html#getWriteErrorCount">getWriteErrorCount</a></li>
            
                <li data-name="BulkWriteResult#getWriteErrors"><a href="BulkWriteResult.html#getWriteErrors">getWriteErrors</a></li>
            
                <li data-name="BulkWriteResult#hasWriteErrors"><a href="BulkWriteResult.html#hasWriteErrors">hasWriteErrors</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="Code">
            <span class="title">
                <a href="Code.html">Code</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="Collection">
            <span class="title">
                <a href="Collection.html">Collection</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            <span class="subtitle">Typedefs</span>
            
                <li data-name="Collection~bulkWriteOpCallback"><a href="Collection.html#~bulkWriteOpCallback">bulkWriteOpCallback</a></li>
            
                <li data-name="Collection~BulkWriteOpResult"><a href="Collection.html#~BulkWriteOpResult">BulkWriteOpResult</a></li>
            
                <li data-name="Collection~collectionResultCallback"><a href="Collection.html#~collectionResultCallback">collectionResultCallback</a></li>
            
                <li data-name="Collection~countCallback"><a href="Collection.html#~countCallback">countCallback</a></li>
            
                <li data-name="Collection~deleteWriteOpCallback"><a href="Collection.html#~deleteWriteOpCallback">deleteWriteOpCallback</a></li>
            
                <li data-name="Collection~deleteWriteOpResult"><a href="Collection.html#~deleteWriteOpResult">deleteWriteOpResult</a></li>
            
                <li data-name="Collection~findAndModifyCallback"><a href="Collection.html#~findAndModifyCallback">findAndModifyCallback</a></li>
            
                <li data-name="Collection~findAndModifyWriteOpResult"><a href="Collection.html#~findAndModifyWriteOpResult">findAndModifyWriteOpResult</a></li>
            
                <li data-name="Collection~insertOneWriteOpCallback"><a href="Collection.html#~insertOneWriteOpCallback">insertOneWriteOpCallback</a></li>
            
                <li data-name="Collection~insertOneWriteOpResult"><a href="Collection.html#~insertOneWriteOpResult">insertOneWriteOpResult</a></li>
            
                <li data-name="Collection~insertWriteOpCallback"><a href="Collection.html#~insertWriteOpCallback">insertWriteOpCallback</a></li>
            
                <li data-name="Collection~insertWriteOpResult"><a href="Collection.html#~insertWriteOpResult">insertWriteOpResult</a></li>
            
                <li data-name="Collection~parallelCollectionScanCallback"><a href="Collection.html#~parallelCollectionScanCallback">parallelCollectionScanCallback</a></li>
            
                <li data-name="Collection~resultCallback"><a href="Collection.html#~resultCallback">resultCallback</a></li>
            
                <li data-name="Collection~updateWriteOpCallback"><a href="Collection.html#~updateWriteOpCallback">updateWriteOpCallback</a></li>
            
                <li data-name="Collection~updateWriteOpResult"><a href="Collection.html#~updateWriteOpResult">updateWriteOpResult</a></li>
            
                <li data-name="Collection~writeOpCallback"><a href="Collection.html#~writeOpCallback">writeOpCallback</a></li>
            
                <li data-name="Collection~WriteOpResult"><a href="Collection.html#~WriteOpResult">WriteOpResult</a></li>
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Collection#aggregate"><a href="Collection.html#aggregate">aggregate</a></li>
            
                <li data-name="Collection#bulkWrite"><a href="Collection.html#bulkWrite">bulkWrite</a></li>
            
                <li data-name="Collection#count"><a href="Collection.html#count">count</a></li>
            
                <li data-name="Collection#createIndex"><a href="Collection.html#createIndex">createIndex</a></li>
            
                <li data-name="Collection#createIndexes"><a href="Collection.html#createIndexes">createIndexes</a></li>
            
                <li data-name="Collection#deleteMany"><a href="Collection.html#deleteMany">deleteMany</a></li>
            
                <li data-name="Collection#deleteOne"><a href="Collection.html#deleteOne">deleteOne</a></li>
            
                <li data-name="Collection#distinct"><a href="Collection.html#distinct">distinct</a></li>
            
                <li data-name="Collection#drop"><a href="Collection.html#drop">drop</a></li>
            
                <li data-name="Collection#dropAllIndexes"><a href="Collection.html#dropAllIndexes">dropAllIndexes</a></li>
            
                <li data-name="Collection#dropIndex"><a href="Collection.html#dropIndex">dropIndex</a></li>
            
                <li data-name="Collection#dropIndexes"><a href="Collection.html#dropIndexes">dropIndexes</a></li>
            
                <li data-name="Collection#ensureIndex"><a href="Collection.html#ensureIndex">ensureIndex</a></li>
            
                <li data-name="Collection#find"><a href="Collection.html#find">find</a></li>
            
                <li data-name="Collection#findAndModify"><a href="Collection.html#findAndModify">findAndModify</a></li>
            
                <li data-name="Collection#findAndRemove"><a href="Collection.html#findAndRemove">findAndRemove</a></li>
            
                <li data-name="Collection#findOne"><a href="Collection.html#findOne">findOne</a></li>
            
                <li data-name="Collection#findOneAndDelete"><a href="Collection.html#findOneAndDelete">findOneAndDelete</a></li>
            
                <li data-name="Collection#findOneAndReplace"><a href="Collection.html#findOneAndReplace">findOneAndReplace</a></li>
            
                <li data-name="Collection#findOneAndUpdate"><a href="Collection.html#findOneAndUpdate">findOneAndUpdate</a></li>
            
                <li data-name="Collection#geoHaystackSearch"><a href="Collection.html#geoHaystackSearch">geoHaystackSearch</a></li>
            
                <li data-name="Collection#geoNear"><a href="Collection.html#geoNear">geoNear</a></li>
            
                <li data-name="Collection#group"><a href="Collection.html#group">group</a></li>
            
                <li data-name="Collection#indexes"><a href="Collection.html#indexes">indexes</a></li>
            
                <li data-name="Collection#indexExists"><a href="Collection.html#indexExists">indexExists</a></li>
            
                <li data-name="Collection#indexInformation"><a href="Collection.html#indexInformation">indexInformation</a></li>
            
                <li data-name="Collection#initializeOrderedBulkOp"><a href="Collection.html#initializeOrderedBulkOp">initializeOrderedBulkOp</a></li>
            
                <li data-name="Collection#initializeUnorderedBulkOp"><a href="Collection.html#initializeUnorderedBulkOp">initializeUnorderedBulkOp</a></li>
            
                <li data-name="Collection#insert"><a href="Collection.html#insert">insert</a></li>
            
                <li data-name="Collection#insertMany"><a href="Collection.html#insertMany">insertMany</a></li>
            
                <li data-name="Collection#insertOne"><a href="Collection.html#insertOne">insertOne</a></li>
            
                <li data-name="Collection#isCapped"><a href="Collection.html#isCapped">isCapped</a></li>
            
                <li data-name="Collection#listIndexes"><a href="Collection.html#listIndexes">listIndexes</a></li>
            
                <li data-name="Collection#mapReduce"><a href="Collection.html#mapReduce">mapReduce</a></li>
            
                <li data-name="Collection#options"><a href="Collection.html#options">options</a></li>
            
                <li data-name="Collection#parallelCollectionScan"><a href="Collection.html#parallelCollectionScan">parallelCollectionScan</a></li>
            
                <li data-name="Collection#reIndex"><a href="Collection.html#reIndex">reIndex</a></li>
            
                <li data-name="Collection#remove"><a href="Collection.html#remove">remove</a></li>
            
                <li data-name="Collection#rename"><a href="Collection.html#rename">rename</a></li>
            
                <li data-name="Collection#replaceOne"><a href="Collection.html#replaceOne">replaceOne</a></li>
            
                <li data-name="Collection#save"><a href="Collection.html#save">save</a></li>
            
                <li data-name="Collection#stats"><a href="Collection.html#stats">stats</a></li>
            
                <li data-name="Collection#update"><a href="Collection.html#update">update</a></li>
            
                <li data-name="Collection#updateMany"><a href="Collection.html#updateMany">updateMany</a></li>
            
                <li data-name="Collection#updateOne"><a href="Collection.html#updateOne">updateOne</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="CommandCursor">
            <span class="title">
                <a href="CommandCursor.html">CommandCursor</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            <span class="subtitle">Typedefs</span>
            
                <li data-name="CommandCursor~endCallback"><a href="CommandCursor.html#~endCallback">endCallback</a></li>
            
                <li data-name="CommandCursor~iteratorCallback"><a href="CommandCursor.html#~iteratorCallback">iteratorCallback</a></li>
            
                <li data-name="CommandCursor~resultCallback"><a href="CommandCursor.html#~resultCallback">resultCallback</a></li>
            
                <li data-name="CommandCursor~toArrayResultCallback"><a href="CommandCursor.html#~toArrayResultCallback">toArrayResultCallback</a></li>
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="CommandCursor#batchSize"><a href="CommandCursor.html#batchSize">batchSize</a></li>
            
                <li data-name="CommandCursor#clone"><a href="CommandCursor.html#clone">clone</a></li>
            
                <li data-name="CommandCursor#close"><a href="CommandCursor.html#close">close</a></li>
            
                <li data-name="CommandCursor#each"><a href="CommandCursor.html#each">each</a></li>
            
                <li data-name="CommandCursor#hasNext"><a href="CommandCursor.html#hasNext">hasNext</a></li>
            
                <li data-name="CommandCursor#isClosed"><a href="CommandCursor.html#isClosed">isClosed</a></li>
            
                <li data-name="CommandCursor#maxTimeMS"><a href="CommandCursor.html#maxTimeMS">maxTimeMS</a></li>
            
                <li data-name="CommandCursor#next"><a href="CommandCursor.html#next">next</a></li>
            
                <li data-name="CommandCursor#pause"><a href="CommandCursor.html#pause">pause</a></li>
            
                <li data-name="CommandCursor#pipe"><a href="CommandCursor.html#pipe">pipe</a></li>
            
                <li data-name="CommandCursor#read"><a href="CommandCursor.html#read">read</a></li>
            
                <li data-name="CommandCursor#resume"><a href="CommandCursor.html#resume">resume</a></li>
            
                <li data-name="CommandCursor#rewind"><a href="CommandCursor.html#rewind">rewind</a></li>
            
                <li data-name="CommandCursor#setEncoding"><a href="CommandCursor.html#setEncoding">setEncoding</a></li>
            
                <li data-name="CommandCursor#setReadPreference"><a href="CommandCursor.html#setReadPreference">setReadPreference</a></li>
            
                <li data-name="CommandCursor#toArray"><a href="CommandCursor.html#toArray">toArray</a></li>
            
                <li data-name="CommandCursor#unpipe"><a href="CommandCursor.html#unpipe">unpipe</a></li>
            
                <li data-name="CommandCursor#unshift"><a href="CommandCursor.html#unshift">unshift</a></li>
            
                <li data-name="CommandCursor#wrap"><a href="CommandCursor.html#wrap">wrap</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            <span class="subtitle">Events</span>
            
                <li data-name="CommandCursor#event:close"><a href="CommandCursor.html#event:close">close</a></li>
            
                <li data-name="CommandCursor#event:data"><a href="CommandCursor.html#event:data">data</a></li>
            
                <li data-name="CommandCursor#event:end"><a href="CommandCursor.html#event:end">end</a></li>
            
                <li data-name="CommandCursor#event:readable"><a href="CommandCursor.html#event:readable">readable</a></li>
            
            </ul>
        </li>
    
        <li class="item" data-name="Cursor">
            <span class="title">
                <a href="Cursor.html">Cursor</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            <span class="subtitle">Typedefs</span>
            
                <li data-name="Cursor~countResultCallback"><a href="Cursor.html#~countResultCallback">countResultCallback</a></li>
            
                <li data-name="Cursor~endCallback"><a href="Cursor.html#~endCallback">endCallback</a></li>
            
                <li data-name="Cursor~iteratorCallback"><a href="Cursor.html#~iteratorCallback">iteratorCallback</a></li>
            
                <li data-name="Cursor~resultCallback"><a href="Cursor.html#~resultCallback">resultCallback</a></li>
            
                <li data-name="Cursor~toArrayResultCallback"><a href="Cursor.html#~toArrayResultCallback">toArrayResultCallback</a></li>
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Cursor#addCursorFlag"><a href="Cursor.html#addCursorFlag">addCursorFlag</a></li>
            
                <li data-name="Cursor#addQueryModifier"><a href="Cursor.html#addQueryModifier">addQueryModifier</a></li>
            
                <li data-name="Cursor#batchSize"><a href="Cursor.html#batchSize">batchSize</a></li>
            
                <li data-name="Cursor#clone"><a href="Cursor.html#clone">clone</a></li>
            
                <li data-name="Cursor#close"><a href="Cursor.html#close">close</a></li>
            
                <li data-name="Cursor#collation"><a href="Cursor.html#collation">collation</a></li>
            
                <li data-name="Cursor#comment"><a href="Cursor.html#comment">comment</a></li>
            
                <li data-name="Cursor#count"><a href="Cursor.html#count">count</a></li>
            
                <li data-name="Cursor#each"><a href="Cursor.html#each">each</a></li>
            
                <li data-name="Cursor#explain"><a href="Cursor.html#explain">explain</a></li>
            
                <li data-name="Cursor#filter"><a href="Cursor.html#filter">filter</a></li>
            
                <li data-name="Cursor#forEach"><a href="Cursor.html#forEach">forEach</a></li>
            
                <li data-name="Cursor#hasNext"><a href="Cursor.html#hasNext">hasNext</a></li>
            
                <li data-name="Cursor#hint"><a href="Cursor.html#hint">hint</a></li>
            
                <li data-name="Cursor#isClosed"><a href="Cursor.html#isClosed">isClosed</a></li>
            
                <li data-name="Cursor#limit"><a href="Cursor.html#limit">limit</a></li>
            
                <li data-name="Cursor#map"><a href="Cursor.html#map">map</a></li>
            
                <li data-name="Cursor#max"><a href="Cursor.html#max">max</a></li>
            
                <li data-name="Cursor#maxAwaitTimeMS"><a href="Cursor.html#maxAwaitTimeMS">maxAwaitTimeMS</a></li>
            
                <li data-name="Cursor#maxScan"><a href="Cursor.html#maxScan">maxScan</a></li>
            
                <li data-name="Cursor#maxTimeMS"><a href="Cursor.html#maxTimeMS">maxTimeMS</a></li>
            
                <li data-name="Cursor#min"><a href="Cursor.html#min">min</a></li>
            
                <li data-name="Cursor#next"><a href="Cursor.html#next">next</a></li>
            
                <li data-name="Cursor#nextObject"><a href="Cursor.html#nextObject">nextObject</a></li>
            
                <li data-name="Cursor#pause"><a href="Cursor.html#pause">pause</a></li>
            
                <li data-name="Cursor#pipe"><a href="Cursor.html#pipe">pipe</a></li>
            
                <li data-name="Cursor#project"><a href="Cursor.html#project">project</a></li>
            
                <li data-name="Cursor#read"><a href="Cursor.html#read">read</a></li>
            
                <li data-name="Cursor#resume"><a href="Cursor.html#resume">resume</a></li>
            
                <li data-name="Cursor#returnKey"><a href="Cursor.html#returnKey">returnKey</a></li>
            
                <li data-name="Cursor#rewind"><a href="Cursor.html#rewind">rewind</a></li>
            
                <li data-name="Cursor#setCursorOption"><a href="Cursor.html#setCursorOption">setCursorOption</a></li>
            
                <li data-name="Cursor#setEncoding"><a href="Cursor.html#setEncoding">setEncoding</a></li>
            
                <li data-name="Cursor#setReadPreference"><a href="Cursor.html#setReadPreference">setReadPreference</a></li>
            
                <li data-name="Cursor#showRecordId"><a href="Cursor.html#showRecordId">showRecordId</a></li>
            
                <li data-name="Cursor#skip"><a href="Cursor.html#skip">skip</a></li>
            
                <li data-name="Cursor#snapshot"><a href="Cursor.html#snapshot">snapshot</a></li>
            
                <li data-name="Cursor#sort"><a href="Cursor.html#sort">sort</a></li>
            
                <li data-name="Cursor#stream"><a href="Cursor.html#stream">stream</a></li>
            
                <li data-name="Cursor#toArray"><a href="Cursor.html#toArray">toArray</a></li>
            
                <li data-name="Cursor#unpipe"><a href="Cursor.html#unpipe">unpipe</a></li>
            
                <li data-name="Cursor#unshift"><a href="Cursor.html#unshift">unshift</a></li>
            
                <li data-name="Cursor#wrap"><a href="Cursor.html#wrap">wrap</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            <span class="subtitle">Events</span>
            
                <li data-name="Cursor#event:close"><a href="Cursor.html#event:close">close</a></li>
            
                <li data-name="Cursor#event:data"><a href="Cursor.html#event:data">data</a></li>
            
                <li data-name="Cursor#event:end"><a href="Cursor.html#event:end">end</a></li>
            
                <li data-name="Cursor#event:readable"><a href="Cursor.html#event:readable">readable</a></li>
            
            </ul>
        </li>
    
        <li class="item" data-name="Db">
            <span class="title">
                <a href="Db.html">Db</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            <span class="subtitle">Typedefs</span>
            
                <li data-name="Db~collectionResultCallback"><a href="Db.html#~collectionResultCallback">collectionResultCallback</a></li>
            
                <li data-name="Db~collectionsResultCallback"><a href="Db.html#~collectionsResultCallback">collectionsResultCallback</a></li>
            
                <li data-name="Db~noResultCallback"><a href="Db.html#~noResultCallback">noResultCallback</a></li>
            
                <li data-name="Db~openCallback"><a href="Db.html#~openCallback">openCallback</a></li>
            
                <li data-name="Db~resultCallback"><a href="Db.html#~resultCallback">resultCallback</a></li>
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Db#addUser"><a href="Db.html#addUser">addUser</a></li>
            
                <li data-name="Db#admin"><a href="Db.html#admin">admin</a></li>
            
                <li data-name="Db#authenticate"><a href="Db.html#authenticate">authenticate</a></li>
            
                <li data-name="Db#close"><a href="Db.html#close">close</a></li>
            
                <li data-name="Db#collection"><a href="Db.html#collection">collection</a></li>
            
                <li data-name="Db#collections"><a href="Db.html#collections">collections</a></li>
            
                <li data-name="Db#command"><a href="Db.html#command">command</a></li>
            
                <li data-name="Db#createCollection"><a href="Db.html#createCollection">createCollection</a></li>
            
                <li data-name="Db#createIndex"><a href="Db.html#createIndex">createIndex</a></li>
            
                <li data-name="Db#db"><a href="Db.html#db">db</a></li>
            
                <li data-name="Db#dropCollection"><a href="Db.html#dropCollection">dropCollection</a></li>
            
                <li data-name="Db#dropDatabase"><a href="Db.html#dropDatabase">dropDatabase</a></li>
            
                <li data-name="Db#ensureIndex"><a href="Db.html#ensureIndex">ensureIndex</a></li>
            
                <li data-name="Db#eval"><a href="Db.html#eval">eval</a></li>
            
                <li data-name="Db#executeDbAdminCommand"><a href="Db.html#executeDbAdminCommand">executeDbAdminCommand</a></li>
            
                <li data-name="Db#indexInformation"><a href="Db.html#indexInformation">indexInformation</a></li>
            
                <li data-name="Db#listCollections"><a href="Db.html#listCollections">listCollections</a></li>
            
                <li data-name="Db#logout"><a href="Db.html#logout">logout</a></li>
            
                <li data-name="Db#open"><a href="Db.html#open">open</a></li>
            
                <li data-name="Db#removeUser"><a href="Db.html#removeUser">removeUser</a></li>
            
                <li data-name="Db#renameCollection"><a href="Db.html#renameCollection">renameCollection</a></li>
            
                <li data-name="Db#stats"><a href="Db.html#stats">stats</a></li>
            
                <li data-name="Db#unref"><a href="Db.html#unref">unref</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            <span class="subtitle">Events</span>
            
                <li data-name="Db#event:authenticated"><a href="Db.html#event:authenticated">authenticated</a></li>
            
                <li data-name="Db#event:close"><a href="Db.html#event:close">close</a></li>
            
                <li data-name="Db#event:error"><a href="Db.html#event:error">error</a></li>
            
                <li data-name="Db#event:fullsetup"><a href="Db.html#event:fullsetup">fullsetup</a></li>
            
                <li data-name="Db#event:parseError"><a href="Db.html#event:parseError">parseError</a></li>
            
                <li data-name="Db#event:reconnect"><a href="Db.html#event:reconnect">reconnect</a></li>
            
                <li data-name="Db#event:timeout"><a href="Db.html#event:timeout">timeout</a></li>
            
            </ul>
        </li>
    
        <li class="item" data-name="DBRef">
            <span class="title">
                <a href="DBRef.html">DBRef</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="Decimal128">
            <span class="title">
                <a href="Decimal128.html">Decimal128</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Decimal128#toString"><a href="Decimal128.html#toString">toString</a></li>
            
                <li data-name="Decimal128.fromString"><a href="Decimal128.html#.fromString">fromString</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="Double">
            <span class="title">
                <a href="Double.html">Double</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Double#valueOf"><a href="Double.html#valueOf">valueOf</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="FindOperatorsOrdered">
            <span class="title">
                <a href="FindOperatorsOrdered.html">FindOperatorsOrdered</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="FindOperatorsOrdered#delete"><a href="FindOperatorsOrdered.html#delete">delete</a></li>
            
                <li data-name="FindOperatorsOrdered#deleteOne"><a href="FindOperatorsOrdered.html#deleteOne">deleteOne</a></li>
            
                <li data-name="FindOperatorsOrdered#replaceOne"><a href="FindOperatorsOrdered.html#replaceOne">replaceOne</a></li>
            
                <li data-name="FindOperatorsOrdered#update"><a href="FindOperatorsOrdered.html#update">update</a></li>
            
                <li data-name="FindOperatorsOrdered#updateOne"><a href="FindOperatorsOrdered.html#updateOne">updateOne</a></li>
            
                <li data-name="FindOperatorsOrdered#upsert"><a href="FindOperatorsOrdered.html#upsert">upsert</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="FindOperatorsUnordered">
            <span class="title">
                <a href="FindOperatorsUnordered.html">FindOperatorsUnordered</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="FindOperatorsUnordered#remove"><a href="FindOperatorsUnordered.html#remove">remove</a></li>
            
                <li data-name="FindOperatorsUnordered#removeOne"><a href="FindOperatorsUnordered.html#removeOne">removeOne</a></li>
            
                <li data-name="FindOperatorsUnordered#replaceOne"><a href="FindOperatorsUnordered.html#replaceOne">replaceOne</a></li>
            
                <li data-name="FindOperatorsUnordered#update"><a href="FindOperatorsUnordered.html#update">update</a></li>
            
                <li data-name="FindOperatorsUnordered#updateOne"><a href="FindOperatorsUnordered.html#updateOne">updateOne</a></li>
            
                <li data-name="FindOperatorsUnordered#upsert"><a href="FindOperatorsUnordered.html#upsert">upsert</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="GridFSBucket">
            <span class="title">
                <a href="GridFSBucket.html">GridFSBucket</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            <span class="subtitle">Typedefs</span>
            
                <li data-name="GridFSBucket~errorCallback"><a href="GridFSBucket.html#~errorCallback">errorCallback</a></li>
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="GridFSBucket#delete"><a href="GridFSBucket.html#delete">delete</a></li>
            
                <li data-name="GridFSBucket#drop"><a href="GridFSBucket.html#drop">drop</a></li>
            
                <li data-name="GridFSBucket#find"><a href="GridFSBucket.html#find">find</a></li>
            
                <li data-name="GridFSBucket#openDownloadStream"><a href="GridFSBucket.html#openDownloadStream">openDownloadStream</a></li>
            
                <li data-name="GridFSBucket#openDownloadStreamByName"><a href="GridFSBucket.html#openDownloadStreamByName">openDownloadStreamByName</a></li>
            
                <li data-name="GridFSBucket#openUploadStream"><a href="GridFSBucket.html#openUploadStream">openUploadStream</a></li>
            
                <li data-name="GridFSBucket#openUploadStreamWithId"><a href="GridFSBucket.html#openUploadStreamWithId">openUploadStreamWithId</a></li>
            
                <li data-name="GridFSBucket#rename"><a href="GridFSBucket.html#rename">rename</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            <span class="subtitle">Events</span>
            
                <li data-name="GridFSBucket#event:index"><a href="GridFSBucket.html#event:index">index</a></li>
            
            </ul>
        </li>
    
        <li class="item" data-name="GridFSBucketReadStream">
            <span class="title">
                <a href="GridFSBucketReadStream.html">GridFSBucketReadStream</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="GridFSBucketReadStream#_read"><a href="GridFSBucketReadStream.html#_read">_read</a></li>
            
                <li data-name="GridFSBucketReadStream#abort"><a href="GridFSBucketReadStream.html#abort">abort</a></li>
            
                <li data-name="GridFSBucketReadStream#end"><a href="GridFSBucketReadStream.html#end">end</a></li>
            
                <li data-name="GridFSBucketReadStream#start"><a href="GridFSBucketReadStream.html#start">start</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            <span class="subtitle">Events</span>
            
                <li data-name="GridFSBucketReadStream#event:close"><a href="GridFSBucketReadStream.html#event:close">close</a></li>
            
                <li data-name="GridFSBucketReadStream#event:data"><a href="GridFSBucketReadStream.html#event:data">data</a></li>
            
                <li data-name="GridFSBucketReadStream#event:end"><a href="GridFSBucketReadStream.html#event:end">end</a></li>
            
                <li data-name="GridFSBucketReadStream#event:error"><a href="GridFSBucketReadStream.html#event:error">error</a></li>
            
                <li data-name="GridFSBucketReadStream#event:file"><a href="GridFSBucketReadStream.html#event:file">file</a></li>
            
            </ul>
        </li>
    
        <li class="item" data-name="GridFSBucketWriteStream">
            <span class="title">
                <a href="GridFSBucketWriteStream.html">GridFSBucketWriteStream</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="GridFSBucketWriteStream#abort"><a href="GridFSBucketWriteStream.html#abort">abort</a></li>
            
                <li data-name="GridFSBucketWriteStream#end"><a href="GridFSBucketWriteStream.html#end">end</a></li>
            
                <li data-name="GridFSBucketWriteStream#write"><a href="GridFSBucketWriteStream.html#write">write</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            <span class="subtitle">Events</span>
            
                <li data-name="GridFSBucketWriteStream#event:error"><a href="GridFSBucketWriteStream.html#event:error">error</a></li>
            
                <li data-name="GridFSBucketWriteStream#event:finish"><a href="GridFSBucketWriteStream.html#event:finish">finish</a></li>
            
            </ul>
        </li>
    
        <li class="item" data-name="GridStore">
            <span class="title">
                <a href="GridStore.html">GridStore</a>
                
            </span>
            <ul class="members itemMembers">
            
            <span class="subtitle">Members</span>
            
                <li data-name="GridStore.DEFAULT_CONTENT_TYPE"><a href="GridStore.html#.DEFAULT_CONTENT_TYPE">DEFAULT_CONTENT_TYPE</a></li>
            
                <li data-name="GridStore.DEFAULT_ROOT_COLLECTION"><a href="GridStore.html#.DEFAULT_ROOT_COLLECTION">DEFAULT_ROOT_COLLECTION</a></li>
            
                <li data-name="GridStore.IO_SEEK_CUR"><a href="GridStore.html#.IO_SEEK_CUR">IO_SEEK_CUR</a></li>
            
                <li data-name="GridStore.IO_SEEK_END"><a href="GridStore.html#.IO_SEEK_END">IO_SEEK_END</a></li>
            
                <li data-name="GridStore.IO_SEEK_SET"><a href="GridStore.html#.IO_SEEK_SET">IO_SEEK_SET</a></li>
            
            </ul>
            <ul class="typedefs itemMembers">
            
            <span class="subtitle">Typedefs</span>
            
                <li data-name="GridStore~collectionCallback"><a href="GridStore.html#~collectionCallback">collectionCallback</a></li>
            
                <li data-name="GridStore~gridStoreCallback"><a href="GridStore.html#~gridStoreCallback">gridStoreCallback</a></li>
            
                <li data-name="GridStore~openCallback"><a href="GridStore.html#~openCallback">openCallback</a></li>
            
                <li data-name="GridStore~readCallback"><a href="GridStore.html#~readCallback">readCallback</a></li>
            
                <li data-name="GridStore~readlinesCallback"><a href="GridStore.html#~readlinesCallback">readlinesCallback</a></li>
            
                <li data-name="GridStore~resultCallback"><a href="GridStore.html#~resultCallback">resultCallback</a></li>
            
                <li data-name="GridStore~tellCallback"><a href="GridStore.html#~tellCallback">tellCallback</a></li>
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="GridStore.exist"><a href="GridStore.html#.exist">exist</a></li>
            
                <li data-name="GridStore.list"><a href="GridStore.html#.list">list</a></li>
            
                <li data-name="GridStore.read"><a href="GridStore.html#.read">read</a></li>
            
                <li data-name="GridStore.readlines"><a href="GridStore.html#.readlines">readlines</a></li>
            
                <li data-name="GridStore.unlink"><a href="GridStore.html#.unlink">unlink</a></li>
            
                <li data-name="GridStore#chunkCollection"><a href="GridStore.html#chunkCollection">chunkCollection</a></li>
            
                <li data-name="GridStore#close"><a href="GridStore.html#close">close</a></li>
            
                <li data-name="GridStore#collection"><a href="GridStore.html#collection">collection</a></li>
            
                <li data-name="GridStore#destroy"><a href="GridStore.html#destroy">destroy</a></li>
            
                <li data-name="GridStore#eof"><a href="GridStore.html#eof">eof</a></li>
            
                <li data-name="GridStore#getc"><a href="GridStore.html#getc">getc</a></li>
            
                <li data-name="GridStore#open"><a href="GridStore.html#open">open</a></li>
            
                <li data-name="GridStore#puts"><a href="GridStore.html#puts">puts</a></li>
            
                <li data-name="GridStore#read"><a href="GridStore.html#read">read</a></li>
            
                <li data-name="GridStore#readlines"><a href="GridStore.html#readlines">readlines</a></li>
            
                <li data-name="GridStore#rewind"><a href="GridStore.html#rewind">rewind</a></li>
            
                <li data-name="GridStore#seek"><a href="GridStore.html#seek">seek</a></li>
            
                <li data-name="GridStore#stream"><a href="GridStore.html#stream">stream</a></li>
            
                <li data-name="GridStore#tell"><a href="GridStore.html#tell">tell</a></li>
            
                <li data-name="GridStore#unlink"><a href="GridStore.html#unlink">unlink</a></li>
            
                <li data-name="GridStore#write"><a href="GridStore.html#write">write</a></li>
            
                <li data-name="GridStore#writeFile"><a href="GridStore.html#writeFile">writeFile</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="GridStoreStream">
            <span class="title">
                <a href="GridStoreStream.html">GridStoreStream</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="GridStoreStream#end"><a href="GridStoreStream.html#end">end</a></li>
            
                <li data-name="GridStoreStream#pause"><a href="GridStoreStream.html#pause">pause</a></li>
            
                <li data-name="GridStoreStream#pipe"><a href="GridStoreStream.html#pipe">pipe</a></li>
            
                <li data-name="GridStoreStream#read"><a href="GridStoreStream.html#read">read</a></li>
            
                <li data-name="GridStoreStream#resume"><a href="GridStoreStream.html#resume">resume</a></li>
            
                <li data-name="GridStoreStream#setEncoding"><a href="GridStoreStream.html#setEncoding">setEncoding</a></li>
            
                <li data-name="GridStoreStream#unpipe"><a href="GridStoreStream.html#unpipe">unpipe</a></li>
            
                <li data-name="GridStoreStream#unshift"><a href="GridStoreStream.html#unshift">unshift</a></li>
            
                <li data-name="GridStoreStream#wrap"><a href="GridStoreStream.html#wrap">wrap</a></li>
            
                <li data-name="GridStoreStream#write"><a href="GridStoreStream.html#write">write</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            <span class="subtitle">Events</span>
            
                <li data-name="GridStoreStream#event:close"><a href="GridStoreStream.html#event:close">close</a></li>
            
                <li data-name="GridStoreStream#event:data"><a href="GridStoreStream.html#event:data">data</a></li>
            
                <li data-name="GridStoreStream#event:drain"><a href="GridStoreStream.html#event:drain">drain</a></li>
            
                <li data-name="GridStoreStream#event:end"><a href="GridStoreStream.html#event:end">end</a></li>
            
                <li data-name="GridStoreStream#event:error"><a href="GridStoreStream.html#event:error">error</a></li>
            
                <li data-name="GridStoreStream#event:finish"><a href="GridStoreStream.html#event:finish">finish</a></li>
            
                <li data-name="GridStoreStream#event:pipe"><a href="GridStoreStream.html#event:pipe">pipe</a></li>
            
                <li data-name="GridStoreStream#event:readable"><a href="GridStoreStream.html#event:readable">readable</a></li>
            
                <li data-name="GridStoreStream#event:unpipe"><a href="GridStoreStream.html#event:unpipe">unpipe</a></li>
            
            </ul>
        </li>
    
        <li class="item" data-name="Int32">
            <span class="title">
                <a href="Int32.html">Int32</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Int32#valueOf"><a href="Int32.html#valueOf">valueOf</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="Logger">
            <span class="title">
                <a href="Logger.html">Logger</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Logger.currentLogger"><a href="Logger.html#.currentLogger">currentLogger</a></li>
            
                <li data-name="Logger.filter"><a href="Logger.html#.filter">filter</a></li>
            
                <li data-name="Logger.reset"><a href="Logger.html#.reset">reset</a></li>
            
                <li data-name="Logger.setCurrentLogger"><a href="Logger.html#.setCurrentLogger">setCurrentLogger</a></li>
            
                <li data-name="Logger.setLevel"><a href="Logger.html#.setLevel">setLevel</a></li>
            
                <li data-name="Logger#debug"><a href="Logger.html#debug">debug</a></li>
            
                <li data-name="Logger#error"><a href="Logger.html#error">error</a></li>
            
                <li data-name="Logger#info"><a href="Logger.html#info">info</a></li>
            
                <li data-name="Logger#isDebug"><a href="Logger.html#isDebug">isDebug</a></li>
            
                <li data-name="Logger#isError"><a href="Logger.html#isError">isError</a></li>
            
                <li data-name="Logger#isInfo"><a href="Logger.html#isInfo">isInfo</a></li>
            
                <li data-name="Logger#isWarn"><a href="Logger.html#isWarn">isWarn</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="Long">
            <span class="title">
                <a href="Long.html">Long</a>
                
            </span>
            <ul class="members itemMembers">
            
            <span class="subtitle">Members</span>
            
                <li data-name="Long.MAX_VALUE"><a href="Long.html#.MAX_VALUE">MAX_VALUE</a></li>
            
                <li data-name="Long.MIN_VALUE"><a href="Long.html#.MIN_VALUE">MIN_VALUE</a></li>
            
                <li data-name="Long.NEG_ONE"><a href="Long.html#.NEG_ONE">NEG_ONE</a></li>
            
                <li data-name="Long.ONE"><a href="Long.html#.ONE">ONE</a></li>
            
                <li data-name="Long.ZERO"><a href="Long.html#.ZERO">ZERO</a></li>
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Long.fromBits"><a href="Long.html#.fromBits">fromBits</a></li>
            
                <li data-name="Long.fromInt"><a href="Long.html#.fromInt">fromInt</a></li>
            
                <li data-name="Long.fromNumber"><a href="Long.html#.fromNumber">fromNumber</a></li>
            
                <li data-name="Long.fromString"><a href="Long.html#.fromString">fromString</a></li>
            
                <li data-name="Long#add"><a href="Long.html#add">add</a></li>
            
                <li data-name="Long#and"><a href="Long.html#and">and</a></li>
            
                <li data-name="Long#compare"><a href="Long.html#compare">compare</a></li>
            
                <li data-name="Long#div"><a href="Long.html#div">div</a></li>
            
                <li data-name="Long#equals"><a href="Long.html#equals">equals</a></li>
            
                <li data-name="Long#getHighBits"><a href="Long.html#getHighBits">getHighBits</a></li>
            
                <li data-name="Long#getLowBits"><a href="Long.html#getLowBits">getLowBits</a></li>
            
                <li data-name="Long#getLowBitsUnsigned"><a href="Long.html#getLowBitsUnsigned">getLowBitsUnsigned</a></li>
            
                <li data-name="Long#getNumBitsAbs"><a href="Long.html#getNumBitsAbs">getNumBitsAbs</a></li>
            
                <li data-name="Long#greaterThan"><a href="Long.html#greaterThan">greaterThan</a></li>
            
                <li data-name="Long#greaterThanOrEqual"><a href="Long.html#greaterThanOrEqual">greaterThanOrEqual</a></li>
            
                <li data-name="Long#isNegative"><a href="Long.html#isNegative">isNegative</a></li>
            
                <li data-name="Long#isOdd"><a href="Long.html#isOdd">isOdd</a></li>
            
                <li data-name="Long#isZero"><a href="Long.html#isZero">isZero</a></li>
            
                <li data-name="Long#lessThan"><a href="Long.html#lessThan">lessThan</a></li>
            
                <li data-name="Long#lessThanOrEqual"><a href="Long.html#lessThanOrEqual">lessThanOrEqual</a></li>
            
                <li data-name="Long#modulo"><a href="Long.html#modulo">modulo</a></li>
            
                <li data-name="Long#multiply"><a href="Long.html#multiply">multiply</a></li>
            
                <li data-name="Long#negate"><a href="Long.html#negate">negate</a></li>
            
                <li data-name="Long#not"><a href="Long.html#not">not</a></li>
            
                <li data-name="Long#notEquals"><a href="Long.html#notEquals">notEquals</a></li>
            
                <li data-name="Long#or"><a href="Long.html#or">or</a></li>
            
                <li data-name="Long#shiftLeft"><a href="Long.html#shiftLeft">shiftLeft</a></li>
            
                <li data-name="Long#shiftRight"><a href="Long.html#shiftRight">shiftRight</a></li>
            
                <li data-name="Long#shiftRightUnsigned"><a href="Long.html#shiftRightUnsigned">shiftRightUnsigned</a></li>
            
                <li data-name="Long#subtract"><a href="Long.html#subtract">subtract</a></li>
            
                <li data-name="Long#toInt"><a href="Long.html#toInt">toInt</a></li>
            
                <li data-name="Long#toJSON"><a href="Long.html#toJSON">toJSON</a></li>
            
                <li data-name="Long#toNumber"><a href="Long.html#toNumber">toNumber</a></li>
            
                <li data-name="Long#toString"><a href="Long.html#toString">toString</a></li>
            
                <li data-name="Long#xor"><a href="Long.html#xor">xor</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="MaxKey">
            <span class="title">
                <a href="MaxKey.html">MaxKey</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="MinKey">
            <span class="title">
                <a href="MinKey.html">MinKey</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="MongoClient">
            <span class="title">
                <a href="MongoClient.html">MongoClient</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            <span class="subtitle">Typedefs</span>
            
                <li data-name="MongoClient~connectCallback"><a href="MongoClient.html#~connectCallback">connectCallback</a></li>
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="MongoClient.connect"><a href="MongoClient.html#.connect">connect</a></li>
            
                <li data-name="MongoClient#connect"><a href="MongoClient.html#connect">connect</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="MongoError">
            <span class="title">
                <a href="MongoError.html">MongoError</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="MongoError.create"><a href="MongoError.html#.create">create</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="Mongos">
            <span class="title">
                <a href="Mongos.html">Mongos</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Mongos#connections"><a href="Mongos.html#connections">connections</a></li>
            
                <li data-name="Mongos#unref"><a href="Mongos.html#unref">unref</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            <span class="subtitle">Events</span>
            
                <li data-name="Mongos#event:close"><a href="Mongos.html#event:close">close</a></li>
            
                <li data-name="Mongos#event:connect"><a href="Mongos.html#event:connect">connect</a></li>
            
                <li data-name="Mongos#event:error"><a href="Mongos.html#event:error">error</a></li>
            
                <li data-name="Mongos#event:fullsetup"><a href="Mongos.html#event:fullsetup">fullsetup</a></li>
            
                <li data-name="Mongos#event:ha"><a href="Mongos.html#event:ha">ha</a></li>
            
                <li data-name="Mongos#event:joined"><a href="Mongos.html#event:joined">joined</a></li>
            
                <li data-name="Mongos#event:left"><a href="Mongos.html#event:left">left</a></li>
            
                <li data-name="Mongos#event:open"><a href="Mongos.html#event:open">open</a></li>
            
                <li data-name="Mongos#event:parseError"><a href="Mongos.html#event:parseError">parseError</a></li>
            
                <li data-name="Mongos#event:timeout"><a href="Mongos.html#event:timeout">timeout</a></li>
            
            </ul>
        </li>
    
        <li class="item" data-name="ObjectID">
            <span class="title">
                <a href="ObjectID.html">ObjectID</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="ObjectID.createFromHexString"><a href="ObjectID.html#.createFromHexString">createFromHexString</a></li>
            
                <li data-name="ObjectID.createFromTime"><a href="ObjectID.html#.createFromTime">createFromTime</a></li>
            
                <li data-name="ObjectID.isValid"><a href="ObjectID.html#.isValid">isValid</a></li>
            
                <li data-name="ObjectID#equals"><a href="ObjectID.html#equals">equals</a></li>
            
                <li data-name="ObjectID#generate"><a href="ObjectID.html#generate">generate</a></li>
            
                <li data-name="ObjectID#getTimestamp"><a href="ObjectID.html#getTimestamp">getTimestamp</a></li>
            
                <li data-name="ObjectID#toHexString"><a href="ObjectID.html#toHexString">toHexString</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="OrderedBulkOperation">
            <span class="title">
                <a href="OrderedBulkOperation.html">OrderedBulkOperation</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            <span class="subtitle">Typedefs</span>
            
                <li data-name="OrderedBulkOperation~resultCallback"><a href="OrderedBulkOperation.html#~resultCallback">resultCallback</a></li>
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="OrderedBulkOperation#execute"><a href="OrderedBulkOperation.html#execute">execute</a></li>
            
                <li data-name="OrderedBulkOperation#find"><a href="OrderedBulkOperation.html#find">find</a></li>
            
                <li data-name="OrderedBulkOperation#insert"><a href="OrderedBulkOperation.html#insert">insert</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="ReadPreference">
            <span class="title">
                <a href="ReadPreference.html">ReadPreference</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="ReadPreference.isValid"><a href="ReadPreference.html#.isValid">isValid</a></li>
            
                <li data-name="ReadPreference#isValid"><a href="ReadPreference.html#isValid">isValid</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="ReplSet">
            <span class="title">
                <a href="ReplSet.html">ReplSet</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="ReplSet#connections"><a href="ReplSet.html#connections">connections</a></li>
            
                <li data-name="ReplSet#unref"><a href="ReplSet.html#unref">unref</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            <span class="subtitle">Events</span>
            
                <li data-name="ReplSet#event:close"><a href="ReplSet.html#event:close">close</a></li>
            
                <li data-name="ReplSet#event:connect"><a href="ReplSet.html#event:connect">connect</a></li>
            
                <li data-name="ReplSet#event:error"><a href="ReplSet.html#event:error">error</a></li>
            
                <li data-name="ReplSet#event:fullsetup"><a href="ReplSet.html#event:fullsetup">fullsetup</a></li>
            
                <li data-name="ReplSet#event:ha"><a href="ReplSet.html#event:ha">ha</a></li>
            
                <li data-name="ReplSet#event:joined"><a href="ReplSet.html#event:joined">joined</a></li>
            
                <li data-name="ReplSet#event:left"><a href="ReplSet.html#event:left">left</a></li>
            
                <li data-name="ReplSet#event:open"><a href="ReplSet.html#event:open">open</a></li>
            
                <li data-name="ReplSet#event:parseError"><a href="ReplSet.html#event:parseError">parseError</a></li>
            
                <li data-name="ReplSet#event:timeout"><a href="ReplSet.html#event:timeout">timeout</a></li>
            
            </ul>
        </li>
    
        <li class="item" data-name="Server">
            <span class="title">
                <a href="Server.html">Server</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Server#connections"><a href="Server.html#connections">connections</a></li>
            
                <li data-name="Server#unref"><a href="Server.html#unref">unref</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            <span class="subtitle">Events</span>
            
                <li data-name="Server#event:close"><a href="Server.html#event:close">close</a></li>
            
                <li data-name="Server#event:connect"><a href="Server.html#event:connect">connect</a></li>
            
                <li data-name="Server#event:error"><a href="Server.html#event:error">error</a></li>
            
                <li data-name="Server#event:parseError"><a href="Server.html#event:parseError">parseError</a></li>
            
                <li data-name="Server#event:reconnect"><a href="Server.html#event:reconnect">reconnect</a></li>
            
                <li data-name="Server#event:timeout"><a href="Server.html#event:timeout">timeout</a></li>
            
            </ul>
        </li>
    
        <li class="item" data-name="Symbol">
            <span class="title">
                <a href="Symbol.html">Symbol</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Symbol#valueOf"><a href="Symbol.html#valueOf">valueOf</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="Timestamp">
            <span class="title">
                <a href="Timestamp.html">Timestamp</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="Timestamp#toJSON"><a href="Timestamp.html#toJSON">toJSON</a></li>
            
                <li data-name="Timestamp.fromBits"><a href="Timestamp.html#.fromBits">fromBits</a></li>
            
                <li data-name="Timestamp.fromInt"><a href="Timestamp.html#.fromInt">fromInt</a></li>
            
                <li data-name="Timestamp.fromNumber"><a href="Timestamp.html#.fromNumber">fromNumber</a></li>
            
                <li data-name="Timestamp.fromString"><a href="Timestamp.html#.fromString">fromString</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="UnorderedBulkOperation">
            <span class="title">
                <a href="UnorderedBulkOperation.html">UnorderedBulkOperation</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            <span class="subtitle">Typedefs</span>
            
                <li data-name="UnorderedBulkOperation~resultCallback"><a href="UnorderedBulkOperation.html#~resultCallback">resultCallback</a></li>
            
            </ul>
            <ul class="methods itemMembers">
            
            <span class="subtitle">Methods</span>
            
                <li data-name="UnorderedBulkOperation#execute"><a href="UnorderedBulkOperation.html#execute">execute</a></li>
            
                <li data-name="UnorderedBulkOperation#find"><a href="UnorderedBulkOperation.html#find">find</a></li>
            
                <li data-name="UnorderedBulkOperation#insert"><a href="UnorderedBulkOperation.html#insert">insert</a></li>
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="WriteConcernError">
            <span class="title">
                <a href="WriteConcernError.html">WriteConcernError</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
        <li class="item" data-name="WriteError">
            <span class="title">
                <a href="WriteError.html">WriteError</a>
                
            </span>
            <ul class="members itemMembers">
            
            </ul>
            <ul class="typedefs itemMembers">
            
            </ul>
            <ul class="methods itemMembers">
            
            </ul>
            <ul class="events itemMembers">
            
            </ul>
        </li>
    
    </ul>
</div>
            </td>
            <td valign='top'>        
                <div class="main">
                    <h1 class="page-title" data-filename="Admin.html">Class: Admin</h1>
                    



<section>
    
<header>
    <h2>
    Admin
    </h2>
    
</header>  

<article>
    <div class="container-overview">
    
    
    
        
<dt>
    <div class="nameContainer">
        <h4 class="name" id="Admin">
            
            new Admin<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{<a href="Admin.html">Admin</a>}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line38">line 38</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Create a new Admin instance (INTERNAL TYPE, do not instantiate directly)</p>
    </div>
    

    
    
    
    
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
collection instance.
<br />

    
    
    
</dd>

    
    </div>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        <h3 class="subsection-title">Methods</h3>
        
        <dl>
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="addUser">
            
            addUser<span class="signature">(username, password, <span class="optional">options</span>, <span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line323">line 323</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Add a user to the database.</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		<th>Default</th>
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>username</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>
            
            
                <td class="default">
                
                </td>
            
            
            <td class="description last">
                
                    
                    
                        
                    
                
                <p>The username.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>password</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>
            
            
                <td class="default">
                
                </td>
            
            
            <td class="description last">
                
                    
                    
                        
                    
                
                <p>The password.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>options</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>Optional settings.</p>
                

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		<th>Default</th>
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>w</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">string</span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The write concern.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>wtimeout</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The write concern timeout.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>j</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>
            
            
                <td class="default">
                
                    false
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>Specify a journal write concern.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>fsync</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>
            
            
                <td class="default">
                
                    false
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>Specify a file sync write concern.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>customData</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>Custom data associated with the user (only Mongodb 2.6 or higher)</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>roles</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">Array.&lt;object></span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>Roles associated with the created user (only Mongodb 2.6 or higher)</p></td>
        </tr>
	
	
	</tbody>
</table>
            </td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
                <td class="default">
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// An example of how to add a user to the admin database

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin11', 'admin11', function(err, result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin11', 'admin11', function(err, result) {
      test.ok(result);

      adminDb.removeUser('admin11', function(err, result) {
        test.ok(result);

        db.close();
      });
    });
  });
});




n example of how to remove a user from the admin database

example-class Admin
example-method removeUser
ignore

rts.shouldCorrectlyAddAUserAndRemoveItFromAdminDb = {
tadata: { requires: { topology: 'single' } },

 The actual test we wish to run
st: function(configure, test) {
var db = configure.newDbInstance({w:1}, {poolSize:1});

db.open(function(err, db) {
var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin12', 'admin12', function(err, result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin12', 'admin12', function(err, result) {
      test.ok(result);

      // Remove the user
      adminDb.removeUser('admin12', function(err, result) {
        test.equal(null, err);
        test.equal(true, result);

        // Authenticate using the removed user should fail
        adminDb.authenticate('admin12', 'admin12', function(err, result) {
          test.ok(err != null);
          test.ok(!result);

          db.close();
        });
      })
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to add a user to the admin database using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin11', 'admin11').then(function(result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin11', 'admin11').then(function(result) {
      test.ok(result);

      adminDb.removeUser('admin11').then(function(result) {
        test.ok(result);

        db.close();
      });
    });
  });
});




n example of how to remove a user from the admin database using a Promise.

example-class Admin
example-method removeUser
ignore

rts.shouldCorrectlyAddAUserAndRemoveItFromAdminDbWithPromises = {
tadata: { requires: { promises:true, topology: 'single' } },

 The actual test we wish to run
st: function(configuration, test) {
var db = configuration.newDbInstance({w:1}, {poolSize:1});

db.open().then(function(db) {
var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin12', 'admin12').then(function(result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin12', 'admin12').then(function(result) {
      test.ok(result);

      // Remove the user
      adminDb.removeUser('admin12').then(function(result) {
        test.equal(true, result);

        // Authenticate using the removed user should fail
        adminDb.authenticate('admin12', 'admin12').then(function(result) {
        }).catch(function(err) {
          db.close();
        });
      })
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to add a user to the admin database using a Generator and the co module.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin11', 'admin11');

  // Authenticate using the newly added user
  var result = yield adminDb.authenticate('admin11', 'admin11');
  test.ok(result);

  var result = yield adminDb.removeUser('admin11');
  test.ok(result);

  db.close();
});




n example of how to remove a user from the admin database using a Generator and the co module.

example-class Admin
example-method removeUser
ignore

rts.shouldCorrectlyAddAUserAndRemoveItFromAdminDbWithGenerators = {
tadata: { requires: { generators:true, topology: 'single' } },

 The actual test we wish to run
st: function(configuration, test) {
var co = require('co');

co(function*() {
  // Connect
  var db = yield configuration.newDbInstance({w:1}, {poolSize:1}).open();
var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin12', 'admin12');

  // Authenticate using the newly added user
  var result = yield adminDb.authenticate('admin12', 'admin12');
  test.ok(result);

  // Remove the user
  var result = yield adminDb.removeUser('admin12');
  test.equal(true, result);

  try {
    // Authenticate using the removed user should fail
    yield adminDb.authenticate('admin12', 'admin12');
  } catch(err) {
    db.close();
  }
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="authenticate">
            
            authenticate<span class="signature">(username, <span class="optional">password</span>, <span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line246">line 246</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Authenticate a user against the server.</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>username</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                    
                        
                    
                
                <p>The username.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>password</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The password.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
        <dt class="important tag-deprecated">Deprecated</dt><dd><ul class="dummy"><li>This method will no longer be available in the next major release 3.x as MongoDB 3.6 will only allow auth against users in the admin db and will no longer allow multiple credentials on a socket. Please authenticate using MongoClient.connect with auth credentials.</li><ul></dd>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// Authenticate against MongoDB Admin user

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {
  // Grab a collection object
  var collection = db.collection('test');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w:1}, function(err, doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin2', 'admin2', function(err, result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin2', 'admin2', function(err, result) {
        test.ok(result);

        adminDb.removeUser('admin2', function(err, result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Authenticate against MongoDB Admin user using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {
  // Grab a collection object
  var collection = db.collection('test_with_promise');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w:1}).then(function(doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin2', 'admin2').then(function(result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin2', 'admin2').then(function(result) {
        test.ok(result);

        adminDb.removeUser('admin2').then(function(result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Authenticate against MongoDB Admin user using a Generator and the co module.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');
  // Grab a collection object
  var collection = db.collection('test_with_generators');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  yield collection.insertOne({'a':1}, {w:1});

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin2', 'admin2');

  // Authenticate using the newly added user
  var result = yield adminDb.authenticate('admin2', 'admin2');
  test.ok(result);

  var result = yield adminDb.removeUser('admin2')
  test.ok(result);

  db.close();
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="buildInfo">
            
            buildInfo<span class="signature">(<span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line98">line 98</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Retrieve the server information for the current<br>instance of the db client</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// Retrieve the buildInfo for the current MongoDB instance

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin3', 'admin3', function(err, result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin3', 'admin3', function(err, result) {
      test.ok(result);

      // Retrive the build information for the MongoDB instance
      adminDb.buildInfo(function(err, info) {
        test.ok(err == null);

        adminDb.removeUser('admin3', function(err, result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Retrieve the buildInfo for the current MongoDB instance using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin3', 'admin3').then(function(result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin3', 'admin3').then(function(result) {
      test.ok(result);

      // Retrive the build information for the MongoDB instance
      adminDb.buildInfo().then(function(info) {

        adminDb.removeUser('admin3').then(function(result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Retrieve the buildInfo for the current MongoDB instance using a Generator and the co module.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin3', 'admin3');

  // Authenticate using the newly added user
  var result = yield adminDb.authenticate('admin3', 'admin3');
  test.ok(result);

  // Retrive the build information for the MongoDB instance
  yield adminDb.buildInfo();

  var result = yield adminDb.removeUser('admin3');
  test.ok(result);

  db.close();
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="command">
            
            command<span class="signature">(command, <span class="optional">options</span>, <span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line68">line 68</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Execute a command</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		<th>Default</th>
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>command</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>
            
            
                <td class="default">
                
                </td>
            
            
            <td class="description last">
                
                    
                    
                        
                    
                
                <p>The command hash</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>options</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>Optional settings.</p>
                

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		<th>Default</th>
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>readPreference</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="ReadPreference.html">ReadPreference</a></span>
|

<span class="param-type">string</span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The preferred read preference (ReadPreference.PRIMARY, ReadPreference.PRIMARY_PREFERRED, ReadPreference.SECONDARY, ReadPreference.SECONDARY_PREFERRED, ReadPreference.NEAREST).</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>maxTimeMS</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>Number of milliseconds to wait before aborting the query.</p></td>
        </tr>
	
	
	</tbody>
</table>
            </td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
                <td class="default">
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// Retrieve the buildInfo using the command function

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin4', 'admin4', function(err, result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin4', 'admin4', function(err, result) {
      test.ok(result);

      // Retrive the build information using the admin command
      adminDb.command({buildInfo:1}, function(err, info) {
        test.ok(err == null);

        adminDb.removeUser('admin4', function(err, result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Retrieve the buildInfo using the command function using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin4', 'admin4').then(function(result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin4', 'admin4').then(function(result) {
      test.ok(result);

      // Retrive the build information using the admin command
      adminDb.command({buildInfo:1}).then(function(info) {

        adminDb.removeUser('admin4').then(function(result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Retrieve the buildInfo using the command function using a Generator and the co module.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin4', 'admin4');

  // Authenticate using the newly added user
  var result = yield adminDb.authenticate('admin4', 'admin4');
  test.ok(result);

  // Retrive the build information using the admin command
  yield adminDb.command({buildInfo:1})

  var result = yield adminDb.removeUser('admin4');
  test.ok(result);

  db.close();
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="listDatabases">
            
            listDatabases<span class="signature">(<span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line533">line 533</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>List the available databases</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback.</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// An example of listing all available databases.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // List all the available databases
  adminDb.listDatabases(function(err, dbs) {
    test.equal(null, err);
    test.ok(dbs.databases.length > 0);

    db.close();
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of listing all available databases. using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // List all the available databases
  adminDb.listDatabases().then(function(dbs) {
    test.ok(dbs.databases.length > 0);

    db.close();
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of listing all available databases. using a Generator and the co module.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Use the admin database for the operation
  var adminDb = db.admin();

  // List all the available databases
  var dbs = yield adminDb.listDatabases();
  test.ok(dbs.databases.length > 0);

  db.close();
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="logout">
            
            logout<span class="signature">(<span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line271">line 271</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Logout user from server, fire off on all connections and remove all auth info</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// An example of how add a user, authenticate and logout

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin10', 'admin10', function(err, result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin10', 'admin10', function(err, result) {
      test.ok(result);

      // Logout the user
      adminDb.logout(function(err, result) {
        test.equal(true, result);

        adminDb.removeUser('admin10', function(err, result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how add a user, authenticate and logout using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin10', 'admin10').then(function(result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin10', 'admin10').then(function(result) {
      test.ok(result);

      // Logout the user
      adminDb.logout().then(function(result) {
        test.equal(true, result);

        adminDb.removeUser('admin10').then(function(result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how add a user, authenticate and logout using a Generator and the co module.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin10', 'admin10');

  // Authenticate using the newly added user
  var result = yield adminDb.authenticate('admin10', 'admin10')
  test.ok(result);

  // Logout the user
  var result = yield adminDb.logout();
  test.equal(true, result);

  var result = adminDb.removeUser('admin10');
  test.ok(result);

  db.close();
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="ping">
            
            ping<span class="signature">(<span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line217">line 217</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Ping the MongoDB server and retrieve results</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// An example of how to add a user to the admin database

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin9', 'admin9', function(err, result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin9', 'admin9', function(err, result) {
      test.ok(result);

      // Ping the server
      adminDb.ping(function(err, pingResult) {
        test.equal(null, err);

        adminDb.removeUser('admin9', function(err, result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to add a user to the admin database using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin9', 'admin9').then(function(result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin9', 'admin9').then(function(result) {
      test.ok(result);

      // Ping the server
      adminDb.ping().then(function(pingResult) {

        adminDb.removeUser('admin9').then(function(result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to add a user to the admin database using a Generator and the co module.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin9', 'admin9');

  // Authenticate using the newly added user
  var result = yield adminDb.authenticate('admin9', 'admin9');
  test.ok(result);

  // Ping the server
  yield adminDb.ping();

  var result = yield adminDb.removeUser('admin9');
  test.ok(result);

  db.close();
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="profilingInfo">
            
            profilingInfo<span class="signature">(<span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line444">line 444</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Retrieve the current profiling information for MongoDB</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback.</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
        <dt class="important tag-deprecated">Deprecated</dt><dd><ul class="dummy"><li>Query the system.profile collection directly.</li><ul></dd>
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// An example of how to use the profilingInfo<br>Use this command to pull back the profiling information currently set for Mongodb

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Grab a collection object
  var collection = db.collection('test');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}, function(doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin7', 'admin7', function(err, result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin7', 'admin7', function(err, replies) {

        // Set the profiling level to all
        adminDb.setProfilingLevel('all', function(err, level) {

          // Execute a query command
          collection.find().toArray(function(err, items) {

            // Turn off profiling
            adminDb.setProfilingLevel('off', function(err, level) {

              // Retrive the profiling information
              adminDb.profilingInfo(function(err, infos) {
                test.ok(infos.constructor == Array);
                test.ok(infos.length >= 1);
                test.ok(infos[0].ts.constructor == Date);
                test.ok(infos[0].millis.constructor == Number);

                adminDb.removeUser('admin7', function(err, result) {
                  test.ok(result);

                  db.close();
                });
              });
            });
          });
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to use the profilingInfo using a Promise.<br>Use this command to pull back the profiling information currently set for Mongodb

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Grab a collection object
  var collection = db.collection('test_with_promise');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}).then(function(doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin7', 'admin7').then(function(result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin7', 'admin7').then(function(replies) {

        // Set the profiling level to all
        adminDb.setProfilingLevel('all').then(function(level) {

          // Execute a query command
          collection.find().toArray().then(function(items) {

            // Turn off profiling
            adminDb.setProfilingLevel('off').then(function(level) {

              // Retrive the profiling information
              adminDb.profilingInfo().then(function(infos) {
                test.ok(infos.constructor == Array);
                test.ok(infos.length >= 1);
                test.ok(infos[0].ts.constructor == Date);
                test.ok(infos[0].millis.constructor == Number);

                adminDb.removeUser('admin7').then(function(result) {
                  test.ok(result);

                  db.close();
                });
              });
            });
          });
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to use the profilingInfo using a Generator and the co module.<br>Use this command to pull back the profiling information currently set for Mongodb

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Grab a collection object
  var collection = db.collection('test_with_generators');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  yield collection.insertOne({'a':1}, {w: 1});

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin7', 'admin7');

  // Authenticate using the newly added user
  yield adminDb.authenticate('admin7', 'admin7');

  // Set the profiling level to all
  yield adminDb.setProfilingLevel('all');

  // Execute a query command
  yield collection.find().toArray();

  // Turn off profiling
  yield adminDb.setProfilingLevel('off');

  // Retrive the profiling information
  var infos = yield adminDb.profilingInfo();
  test.ok(infos.constructor == Array);
  test.ok(infos.length >= 1);
  test.ok(infos[0].ts.constructor == Date);
  test.ok(infos[0].millis.constructor == Number);

  var result = yield adminDb.removeUser('admin7');
  test.ok(result);

  db.close();
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="profilingLevel">
            
            profilingLevel<span class="signature">(<span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line180">line 180</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Retrieve the current profiling Level for MongoDB</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// Retrieve the current profiling level set for the MongoDB instance

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Grab a collection object
  var collection = db.collection('test');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}, function(err, doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin5', 'admin5', function(err, result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin5', 'admin5', function(err, replies) {

        // Retrive the profiling level
        adminDb.profilingLevel(function(err, level) {

          adminDb.removeUser('admin5', function(err, result) {
            test.ok(result);

            db.close();
          });
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Retrieve the current profiling level set for the MongoDB instance using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Grab a collection object
  var collection = db.collection('test_with_promise');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}).then(function(doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin5', 'admin5').then(function(result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin5', 'admin5').then(function(replies) {

        // Retrive the profiling level
        adminDb.profilingLevel().then(function(level) {

          adminDb.removeUser('admin5').then(function(result) {
            test.ok(result);

            db.close();
          });
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Retrieve the current profiling level set for the MongoDB instance using a Generator and the co module.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Grab a collection object
  var collection = db.collection('test_with_generators');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  yield collection.insertOne({'a':1}, {w: 1});

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin5', 'admin5');

  // Authenticate using the newly added user
  yield adminDb.authenticate('admin5', 'admin5');

  // Retrive the profiling level
  yield adminDb.profilingLevel();

  var result = yield adminDb.removeUser('admin5');
  test.ok(result);

  db.close();
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="removeUser">
            
            removeUser<span class="signature">(username, <span class="optional">options</span>, <span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line362">line 362</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Remove a user from a database</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		<th>Default</th>
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>username</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>
            
            
                <td class="default">
                
                </td>
            
            
            <td class="description last">
                
                    
                    
                        
                    
                
                <p>The username.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>options</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>Optional settings.</p>
                

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		<th>Default</th>
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>w</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">number</span>
|

<span class="param-type">string</span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The write concern.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>wtimeout</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">number</span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The write concern timeout.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>j</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>
            
            
                <td class="default">
                
                    false
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>Specify a journal write concern.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>fsync</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">boolean</span>


            
            </td>
            
            
                <td class="default">
                
                    false
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>Specify a file sync write concern.</p></td>
        </tr>
	
	
	</tbody>
</table>
            </td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
                <td class="default">
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// An example of how to remove a user from the admin database

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin12', 'admin12', function(err, result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin12', 'admin12', function(err, result) {
      test.ok(result);

      // Remove the user
      adminDb.removeUser('admin12', function(err, result) {
        test.equal(null, err);
        test.equal(true, result);

        // Authenticate using the removed user should fail
        adminDb.authenticate('admin12', 'admin12', function(err, result) {
          test.ok(err != null);
          test.ok(!result);

          db.close();
        });
      })
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to remove a user from the admin database using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin12', 'admin12').then(function(result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin12', 'admin12').then(function(result) {
      test.ok(result);

      // Remove the user
      adminDb.removeUser('admin12').then(function(result) {
        test.equal(true, result);

        // Authenticate using the removed user should fail
        adminDb.authenticate('admin12', 'admin12').then(function(result) {
        }).catch(function(err) {
          db.close();
        });
      })
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to remove a user from the admin database using a Generator and the co module.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin12', 'admin12');

  // Authenticate using the newly added user
  var result = yield adminDb.authenticate('admin12', 'admin12');
  test.ok(result);

  // Remove the user
  var result = yield adminDb.removeUser('admin12');
  test.equal(true, result);

  try {
    // Authenticate using the removed user should fail
    yield adminDb.authenticate('admin12', 'admin12');
  } catch(err) {
    db.close();
  }
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="replSetGetStatus">
            
            replSetGetStatus<span class="signature">(<span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line555">line 555</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Get ReplicaSet status</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback.</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// Retrieve the current replicaset status if the server is running as part of a replicaset

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Grab a collection object
  var collection = db.collection('test');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}, function(err, doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin14', 'admin14', function(err, result) {
      test.equal(null, err);
      test.ok(result != null);

      // Authenticate using the newly added user
      adminDb.authenticate('admin14', 'admin14', function(err, result) {
        test.equal(null, err);
        test.equal(true, result);

        // Retrive the server Info, returns error if we are not
        // running a replicaset
        adminDb.replSetGetStatus(function(err, info) {

          adminDb.removeUser('admin14', function(err, result) {
            test.equal(null, err);
            test.ok(result);

            db.close();
          });
        })
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Retrieve the current replicaset status if the server is running as part of a replicaset using a Generator and the co module.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Grab a collection object
  var collection = db.collection('test_with_generators');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  yield collection.insertOne({'a':1}, {w: 1});

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Retrive the server Info, returns error if we are not
  // running a replicaset
  yield adminDb.replSetGetStatus();

  db.close();
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Retrieve the current replicaset status if the server is running as part of a replicaset using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {
  // Grab a collection object
  var collection = db.collection('test_with_promise');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}).then(function(doc) {
    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin14', 'admin14').then(function(result) {
      test.ok(result != null);

      // Authenticate using the newly added user
      adminDb.authenticate('admin14', 'admin14', {w:1}).then(function(result) {
        test.equal(true, result);

        // Retrive the server Info, returns error if we are not
        // running a replicaset
        adminDb.replSetGetStatus().then(function(info) {

          adminDb.removeUser('admin14').then(function(result) {
            test.ok(result);

            db.close();
          });
        }).catch(function(err) {
          // // console.dir(err)
        });
      }).catch(function(err) {
        // // console.dir(err)
      });
    });
  });
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="serverInfo">
            
            serverInfo<span class="signature">(<span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line121">line 121</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Retrieve the server information for the current<br>instance of the db client</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="serverStatus">
            
            serverStatus<span class="signature">(<span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line146">line 146</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Retrieve this db's server status.</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// Retrieve the current server Info

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Grab a collection object
  var collection = db.collection('test');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}, function(err, doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin13', 'admin13', function(err, result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin13', 'admin13', function(err, result) {

        // Retrive the server Info
        adminDb.serverStatus(function(err, info) {
          test.equal(null, err);
          test.ok(info != null);

          adminDb.removeUser('admin13', function(err, result) {
            test.ok(result);

            db.close();
          });
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Retrieve the current server Info using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Grab a collection object
  var collection = db.collection('test_with_promise');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}).then(function(doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin13', 'admin13').then(function(result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin13', 'admin13').then(function(result) {

        // Retrive the server Info
        adminDb.serverStatus().then(function(info) {
          test.ok(info != null);

          adminDb.removeUser('admin13').then(function(result) {
            test.ok(result);

            db.close();
          });
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// Retrieve the current server Info using a Generator and the co module.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Grab a collection object
  var collection = db.collection('test_with_generators');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  yield collection.insertOne({'a':1}, {w: 1});

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin13', 'admin13');

  // Authenticate using the newly added user
  yield adminDb.authenticate('admin13', 'admin13');

  // Retrive the server Info
  var info = yield adminDb.serverStatus();
  test.ok(info != null);

  var result = yield adminDb.removeUser('admin13');
  test.ok(result);

  db.close();
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="setProfilingLevel">
            
            setProfilingLevel<span class="signature">(level, <span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line396">line 396</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Set the current profiling level of MongoDB</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>level</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                    
                        
                    
                
                <p>The new profiling level (off, slow_only, all).</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback.</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// An example of how to use the setProfilingInfo<br>Use this command to set the Profiling level on the MongoDB server

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Grab a collection object
  var collection = db.collection('test');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}, function(err, doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin6', 'admin6', function(err, result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin6', 'admin6', function(err, replies) {

        // Set the profiling level to only profile slow queries
        adminDb.setProfilingLevel('slow_only', function(err, level) {

          // Retrive the profiling level and verify that it's set to slow_only
          adminDb.profilingLevel(function(err, level) {
            test.equal('slow_only', level);

            // Turn profiling off
            adminDb.setProfilingLevel('off', function(err, level) {

              // Retrive the profiling level and verify that it's set to off
              adminDb.profilingLevel(function(err, level) {
                test.equal('off', level);

                // Set the profiling level to log all queries
                adminDb.setProfilingLevel('all', function(err, level) {

                  // Retrive the profiling level and verify that it's set to all
                  adminDb.profilingLevel(function(err, level) {
                    test.equal('all', level);

                    // Attempt to set an illegal profiling level
                    adminDb.setProfilingLevel('medium', function(err, level) {
                      test.ok(err instanceof Error);
                      test.equal("Error: illegal profiling level value medium", err.message);

                      adminDb.removeUser('admin6', function(err, result) {
                        test.ok(result);

                        db.close();
                      });
                    });
                  })
                });
              })
            });
          })
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to use the setProfilingInfo using a Promise.<br>Use this command to set the Profiling level on the MongoDB server

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Grab a collection object
  var collection = db.collection('test_with_promise');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}).then(function(doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin6', 'admin6').then(function(result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin6', 'admin6').then(function(replies) {

        // Set the profiling level to only profile slow queries
        adminDb.setProfilingLevel('slow_only').then(function(level) {

          // Retrive the profiling level and verify that it's set to slow_only
          adminDb.profilingLevel().then(function(level) {
            test.equal('slow_only', level);

            // Turn profiling off
            adminDb.setProfilingLevel('off').then(function(level) {

              // Retrive the profiling level and verify that it's set to off
              adminDb.profilingLevel().then(function(level) {
                test.equal('off', level);

                // Set the profiling level to log all queries
                adminDb.setProfilingLevel('all').then(function(level) {

                  // Retrive the profiling level and verify that it's set to all
                  adminDb.profilingLevel().then(function(level) {
                    test.equal('all', level);

                    // Attempt to set an illegal profiling level
                    adminDb.setProfilingLevel('medium').then(function(level) {
                    }).catch(function(err) {
                      test.ok(err instanceof Error);
                      test.equal("Error: illegal profiling level value medium", err.message);

                      adminDb.removeUser('admin6').then(function(result) {
                        test.ok(result);

                        db.close();
                      });
                    });
                  })
                });
              })
            });
          })
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to use the setProfilingInfo using a Generator and the co module.<br>Use this command to set the Profiling level on the MongoDB server

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Grab a collection object
  var collection = db.collection('test_with_generators');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  yield collection.insertOne({'a':1}, {w: 1});

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin6', 'admin6');

  // Authenticate using the newly added user
  yield adminDb.authenticate('admin6', 'admin6');

  // Set the profiling level to only profile slow queries
  yield adminDb.setProfilingLevel('slow_only')

  // Retrive the profiling level and verify that it's set to slow_only
  var level = yield adminDb.profilingLevel();
  test.equal('slow_only', level);

  // Turn profiling off
  yield adminDb.setProfilingLevel('off');

  // Retrive the profiling level and verify that it's set to off
  var level = yield adminDb.profilingLevel();
  test.equal('off', level);

  // Set the profiling level to log all queries
  yield adminDb.setProfilingLevel('all');

  // Retrive the profiling level and verify that it's set to all
  var level = yield adminDb.profilingLevel();
  test.equal('all', level);

  try {
    // Attempt to set an illegal profiling level
    yield adminDb.setProfilingLevel('medium');
  } catch(err) {
    test.ok(err instanceof Error);
    test.equal("Error: illegal profiling level value medium", err.message);

    var result = yield adminDb.removeUser('admin6');
    test.ok(result);

    db.close();
  }
});</code></pre>
    

    
</dd>

        
            
<dt>
    <div class="nameContainer">
        <h4 class="name" id="validateCollection">
            
            validateCollection<span class="signature">(collectionName, <span class="optional">options</span>, <span class="optional">callback</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise}</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line477">line 477</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>Validate an existing collection</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		<th>Default</th>
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>collectionName</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">string</span>


            
            </td>
            
            
                <td class="default">
                
                </td>
            
            
            <td class="description last">
                
                    
                    
                        
                    
                
                <p>The name of the collection to validate.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>options</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>
            
            
                <td class="default">
                
                    null
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>Optional settings.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>callback</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="Admin.html#~resultCallback">Admin~resultCallback</a></span>


            
            </td>
            
            
                <td class="default">
                
                </td>
            
            
            <td class="description last">
                
                    
                        <span class="optional">optional</span>
                    
                    
                        
                    
                
                <p>The command result callback.</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    


<h5>Returns:</h5>
Promise if no callback passed
<br />

    
    
    
        <h5>Examples</h5>
        

    
    <pre class="prettyprint"><code>// An example of how to use the validateCollection command<br>Use this command to check that a collection is valid (not corrupt) and to get various statistics.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Grab a collection object
  var collection = db.collection('test');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}, function(err, doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin8', 'admin8', function(err, result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin8', 'admin8', function(err, replies) {

        // Validate the 'test' collection
        adminDb.validateCollection('test', function(err, doc) {
          test.equal(null, err);

          adminDb.removeUser('admin8', function(err, result) {
            test.ok(result);

            db.close();
          });
        });
      });
    });
  });
});




n example of how to add a user to the admin database

example-class Admin
example-method ping
ignore

rts.shouldCorrectlyPingTheMongoDbInstance = {
tadata: { requires: { topology: 'single' } },

 The actual test we wish to run
st: function(configure, test) {
var db = configure.newDbInstance({w:1}, {poolSize:1});

db.open(function(err, db) {
var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin9', 'admin9', function(err, result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin9', 'admin9', function(err, result) {
      test.ok(result);

      // Ping the server
      adminDb.ping(function(err, pingResult) {
        test.equal(null, err);

        adminDb.removeUser('admin9', function(err, result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to use the validateCollection command using a Promise.<br>Use this command to check that a collection is valid (not corrupt) and to get various statistics.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Grab a collection object
  var collection = db.collection('test_with_promise');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  collection.insertOne({'a':1}, {w: 1}).then(function(doc) {

    // Use the admin database for the operation
    var adminDb = db.admin();

    // Add the new user to the admin database
    adminDb.addUser('admin8', 'admin8').then(function(result) {

      // Authenticate using the newly added user
      adminDb.authenticate('admin8', 'admin8').then(function(replies) {

        // Validate the 'test' collection
        adminDb.validateCollection('test_with_promise').then(function(doc) {

          // Remove the user
          adminDb.removeUser('admin8').then(function(result) {
            test.ok(result);

            db.close();
          });
        });
      });
    });
  });
});




n example of how to add a user to the admin database using a Promise.

example-class Admin
example-method ping
ignore

rts.shouldCorrectlyPingTheMongoDbInstanceWithPromises = {
tadata: { requires: { promises:true, topology: 'single' } },

 The actual test we wish to run
st: function(configuration, test) {
var db = configuration.newDbInstance({w:1}, {poolSize:1});

db.open().then(function(db) {
var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  adminDb.addUser('admin9', 'admin9').then(function(result) {

    // Authenticate using the newly added user
    adminDb.authenticate('admin9', 'admin9').then(function(result) {
      test.ok(result);

      // Ping the server
      adminDb.ping().then(function(pingResult) {

        adminDb.removeUser('admin9').then(function(result) {
          test.ok(result);

          db.close();
        });
      });
    });
  });
});</code></pre>
    


    
    <pre class="prettyprint"><code>// An example of how to use the validateCollection command using a Generator and the co module.<br>Use this command to check that a collection is valid (not corrupt) and to get various statistics.

var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Grab a collection object
  var collection = db.collection('test_with_generators');

  // Force the creation of the collection by inserting a document
  // Collections are not created until the first document is inserted
  yield collection.insertOne({'a':1}, {w: 1});

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin8', 'admin8');

  // Authenticate using the newly added user
  yield adminDb.authenticate('admin8', 'admin8');

  // Validate the 'test' collection
  var doc = yield adminDb.validateCollection('test_with_generators');
  test.ok(doc != null);

  var result = yield adminDb.removeUser('admin8')
  test.ok(result);

  db.close();
});




n example of how to add a user to the admin database using a Generator and the co module.

example-class Admin
example-method ping
ignore

rts.shouldCorrectlyPingTheMongoDbInstanceWithGenerators = {
tadata: { requires: { generators:true, topology: 'single' } },

 The actual test we wish to run
st: function(configuration, test) {
var co = require('co');

co(function*() {
  // Connect
  var db = yield configuration.newDbInstance({w:1}, {poolSize:1}).open();
var MongoClient = require('mongodb').MongoClient,
  co = require('co');
  test = require('assert');

co(function*() {
  var db = yield MongoClient.connect('mongodb://localhost:27017/test');

  // Use the admin database for the operation
  var adminDb = db.admin();

  // Add the new user to the admin database
  yield adminDb.addUser('admin9', 'admin9');

  // Authenticate using the newly added user
  var result = yield adminDb.authenticate('admin9', 'admin9');
  test.ok(result);

  // Ping the server
  yield adminDb.ping();

  var result = yield adminDb.removeUser('admin9');
  test.ok(result);

  db.close();
});</code></pre>
    

    
</dd>

        </dl>
    
    
    
        <h3 class="subsection-title">Type Definitions</h3>
        
        <dl>
                
<dt>
    <div class="nameContainer">
        <h4 class="name" id="~resultCallback">
            
            resultCallback<span class="signature">(error, result)</span>
        </h4>
    
        
        <div class="tag-source">
            <a href="lib_admin.js.html">lib/admin.js</a>, <a href="lib_admin.js.html#line51">line 51</a>
        </div>
        
    </div>

    
</dt>
<dd>
    
    
    <div class="description">
        <p>The callback format for results</p>
    </div>
    

    
    
    
    
    
        

<table class="params">
    <thead>
	<tr>
		
		<th>Name</th>
		
		
		<th>Type</th>
		
		
		
		<th class="last">Description</th>
	</tr>
	</thead>
	
	<tbody>
	
	
        <tr>
            
                <td class="name"><code>error</code></td>
            
            
            <td class="type">
            
                
<span class="param-type"><a href="MongoError.html">MongoError</a></span>


            
            </td>
            
            
            
            <td class="description last">
                
                <p>An error instance representing the error during the execution.</p></td>
        </tr>
	
	
	
        <tr>
            
                <td class="name"><code>result</code></td>
            
            
            <td class="type">
            
                
<span class="param-type">object</span>


            
            </td>
            
            
            
            <td class="description last">
                
                <p>The result object if the command was executed successfully.</p></td>
        </tr>
	
	
	</tbody>
</table>
    
    
    
<dl class="details">
    
        
    
    
    

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
</dl>

    
    

    

    
    
    
    
    
    
    
</dd>

            </dl>
    
    
    
</article>

</section>  





                    <footer>
                        Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.5.5</a> on Mon Oct 01 2018 09:50:14 GMT-0400 (EDT)
                    </footer>
                </div>
            </td>
        </tr>
    </table>
</div>
<script>prettyPrint();</script>
<script src="scripts/linenumber.js"></script>
<script src="scripts/main.js"></script>
</body>
</html>